IP-1245-alchemy-subgraph-to-goldsky-move#175
Conversation
WalkthroughRemoved two environment variables from Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Dev as Developer / CI
participant Scripts as package.json scripts
participant Goldsky as Goldsky Runner
participant IPFS as IPFS Gateway
participant Alchemy as Alchemy (legacy)
rect rgba(220,245,230,0.9)
Note right of Scripts: New flow (this PR)
Dev->>Scripts: run `npm run deploy:sepolia` / `deploy:mainnet`
Scripts->>Goldsky: `goldsky workflow run ip-nft-.../1.3.2 --from-ipfs-hash $IPFS_HASH --ipfs-gateway ...`
Goldsky->>IPFS: fetch artifact via IPFS gateway
Goldsky-->>Dev: deployment result (success / error)
end
rect rgba(245,235,230,0.9)
Note right of Alchemy: Old flow (replaced)
Dev->>Scripts: run `npm run deploy:*`
Scripts->>Alchemy: `env-cmd ... graph deploy --node ... --version-label ... --deploy-key ...`
Alchemy-->>Dev: deployment result (success / error)
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro Disabled knowledge base sources:
⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
.env.example (1)
15-22: Consider reordering IPFS_HASH before SATSUMA_DEPLOY_KEY.The static analysis tool (dotenv-linter) flags an UnorderedKey warning, suggesting that IPFS_HASH should be placed before SATSUMA_DEPLOY_KEY for consistency with the expected key ordering convention. This is a minor style preference but helps maintain consistency in the configuration file.
Apply this diff to reorder the variables:
ALCHEMY_KEY= THEGRAPH_API_TOKEN= +# You can find the IPFS hash by querying your Alchemy subgraph endpoint: +# query { +# _meta { +# deployment +# } +# } +# +IPFS_HASH= SATSUMA_DEPLOY_KEY= -# You can find the IPFS hash by querying your Alchemy subgraph endpoint: -# query { -# _meta { -# deployment -# } -# } -# -IPFS_HASH=
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (2)
.env.example(1 hunks)subgraph/package.json(1 hunks)
🧰 Additional context used
🪛 dotenv-linter (4.0.0)
.env.example
[warning] 22-22: [UnorderedKey] The IPFS_HASH key should go before the SATSUMA_DEPLOY_KEY key
(UnorderedKey)
🔇 Additional comments (1)
subgraph/package.json (1)
11-12: Verify Goldsky deployment command syntax and hardcoded values.The deployment scripts have been migrated from
graph deploy(Alchemy) togoldsky subgraph deploy(Goldsky). A few items warrant verification:
- Goldsky CLI command syntax: Confirm that
--from-ipfs-hashand--ipfs-gatewayflags are correct and still supported in the version of Goldsky CLI being used.- Hardcoded IPFS gateway: The gateway URL
https://ipfs.satsuma.xyzis hardcoded. Verify this is the intended/only gateway or if it should be configurable.- Hardcoded subgraph version: Both scripts reference
v1.3.2. Confirm this version tag exists and is the correct target for deployment.- Deployment paths: Verify that the subgraph names (
ip-nft-sepoliaandip-nft-mainnet) are correctly registered in Goldsky.To verify the Goldsky CLI command syntax, you may want to check the Goldsky documentation or test the deployment in a staging environment before merging. Additionally, ensure that:
- The
IPFS_HASHenvironment variable is correctly populated before running these scripts.- The
SATSUMA_DEPLOY_KEYhas appropriate permissions for Goldsky deployments.- All existing tests and CI pipelines pass with the new deployment flow.
There was a problem hiding this comment.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
subgraph/package.json(1 hunks)
🔇 Additional comments (3)
subgraph/package.json (3)
1-26: LGTM — JSON structure and deploy command syntax look correct.The migration from
graph deploy(Alchemy) togoldsky subgraph deployfollows the expected pattern. The escaping of environment variables (\\$IPFS_HASH,\\$SATSUMA_DEPLOY_KEY) is correct for JSON. The use ofenv-cmdto load variables from.envis appropriate.However, successful deployment depends on proper environment configuration and documentation, which I'm verifying separately above.
11-12: Deploy key security is properly configured.Verification confirms all security measures are in place:
.envis properly ignored by.gitignore.env.examplecontains only placeholder values (SATSUMA_DEPLOY_KEY=is empty)- README.md instructs developers to copy
.env.exampleto.envand populate it locally- No secrets found in git history
- No
.envfile exists in the repository
11-12: Verify environment variables are properly set in local.envfile before deployment.The deploy scripts reference
$IPFS_HASHand$SATSUMA_DEPLOY_KEYfrom a local.envfile (which is git-ignored). These variables must be populated before running the deploy commands. Use.env.exampleas a template—specifically ensure:
SATSUMA_DEPLOY_KEYis set to your Satsuma deployment API keyIPFS_HASHis set to the current subgraph IPFS deployment hashNote: The
-xflag inenv-cmdenables variable expansion, not syntax validation. If the.envfile is missing or contains invalid variable values, the deploy command will fail.
subgraph/package.json
Outdated
| "deploy:sepolia": "env-cmd -x -f ../.env goldsky subgraph deploy ip-nft-sepolia/1.3.2 --from-ipfs-hash \\$IPFS_HASH --ipfs-gateway https://ipfs.satsuma.xyz --deploy-key \\$SATSUMA_DEPLOY_KEY", | ||
| "deploy:mainnet": "env-cmd -x -f ../.env goldsky subgraph deploy ip-nft-mainnet/1.3.2 --from-ipfs-hash \\$IPFS_HASH --ipfs-gateway https://ipfs.satsuma.xyz --deploy-key \\$SATSUMA_DEPLOY_KEY", |
There was a problem hiding this comment.
🧩 Analysis chain
Verify environment variables are properly documented in .env.example.
The deploy scripts now require IPFS_HASH and SATSUMA_DEPLOY_KEY environment variables to be set in .env. While the AI summary indicates .env.example was updated, I need to confirm these variables are documented with clear descriptions for developers.
Run the following script to verify the environment variable documentation:
🏁 Script executed:
#!/bin/bash
# Description: Verify IPFS_HASH and SATSUMA_DEPLOY_KEY are defined in .env.example
# Check if .env.example exists and contains required variables
if [ -f ".env.example" ]; then
echo "=== Checking .env.example for required variables ==="
grep -E "IPFS_HASH|SATSUMA_DEPLOY_KEY" .env.example || echo "WARNING: Required variables not found in .env.example"
else
echo "ERROR: .env.example file not found at repository root"
fi
# Also check if there's any README or setup documentation
if [ -f "README.md" ]; then
echo -e "\n=== Checking README.md for deployment documentation ==="
grep -A5 -B5 "deploy\|Goldsky\|IPFS_HASH" README.md || echo "No Goldsky/deployment documentation found in README.md"
fi
# Check if there's a subgraph-specific README or deployment guide
if [ -f "subgraph/README.md" ]; then
echo -e "\n=== Checking subgraph/README.md for deployment instructions ==="
grep -A10 -B5 "deploy\|Goldsky\|environment" subgraph/README.md || echo "No deployment instructions found in subgraph/README.md"
fiLength of output: 8853
Update subgraph/README.md to document Goldsky deployment workflow.
Environment variables IPFS_HASH and SATSUMA_DEPLOY_KEY are properly documented in .env.example. However, the deployment documentation in subgraph/README.md still references the deprecated hosted-service method (yarn graph deploy --product hosted-service). Add a new section documenting the updated Goldsky deployment commands (yarn deploy:sepolia and yarn deploy:mainnet) to ensure developers understand the new deployment workflow.
🤖 Prompt for AI Agents
In subgraph/package.json around lines 11-12, the project scripts use Goldsky for
deployments but subgraph/README.md still documents the deprecated hosted-service
workflow; update README.md to add a new "Goldsky deployment" section that
replaces the old hosted-service instructions, show the exact new commands (yarn
deploy:sepolia and yarn deploy:mainnet), note the required environment variables
IPFS_HASH and SATSUMA_DEPLOY_KEY (pointing readers to ../.env.example), and
include usage notes about env-cmd, the --from-ipfs-hash and --ipfs-gateway flags
and how to export or load the vars before running the deploy commands.
🧩 Analysis chain
Confirm goldsky CLI is available as a dependency or global tool.
The deploy scripts invoke goldsky command directly. Verify that:
- The
goldskyCLI is installed (either globally or via npm/yarn) - The command path is available in the deployment environment
- Developers have clear setup/installation instructions
Run the following script to verify goldsky CLI availability:
🏁 Script executed:
#!/bin/bash
# Description: Verify goldsky CLI is properly configured
# Check if goldsky is listed in package.json dependencies
echo "=== Checking for goldsky in package.json ==="
jq '.dependencies.goldsky // .devDependencies.goldsky // "NOT FOUND"' subgraph/package.json
# Check if there are any installation or setup scripts in package.json
echo -e "\n=== Checking for setup/install scripts ==="
jq '.scripts | keys[]' subgraph/package.json | head -20
# Check if goldsky is mentioned in any documentation
echo -e "\n=== Searching for goldsky setup instructions ==="
find . -name "*.md" -type f 2>/dev/null | xargs grep -l "goldsky\|Goldsky" 2>/dev/null | head -5 || echo "No setup docs found"Length of output: 299
I need to verify a few more things to understand the deployment setup:
Now let me check for documentation and env-cmd dependency:
I need to check if env-cmd is listed as a dependency and look for any setup documentation:
Missing @goldskycom/cli dependency in deploy scripts.
The Goldsky CLI (@goldskycom/cli) must be installed as an npm dependency, but it is not listed in subgraph/package.json. This CLI is required to deploy subgraphs. Additionally, env-cmd (used to load environment variables from .env files) should also be verified as a dependency.
Add @goldskycom/cli and env-cmd to subgraph/package.json dependencies/devDependencies, or document clear setup instructions for developers on how to install these tools globally. Without these dependencies, the deploy scripts (deploy:sepolia and deploy:mainnet) will fail in CI/CD and local environments.
🏁 Script executed:
#!/bin/bash
# Final verification: check for env-cmd and README files
echo "=== Checking for env-cmd in subgraph/package.json ==="
jq '.dependencies.["env-cmd"] // .devDependencies.["env-cmd"] // "NOT FOUND"' subgraph/package.json
echo -e "\n=== Checking for env-cmd in root package.json ==="
if [ -f package.json ]; then
jq '.dependencies.["env-cmd"] // .devDependencies.["env-cmd"] // "NOT FOUND"' package.json
else
echo "Root package.json not found"
fi
echo -e "\n=== Looking for README files ==="
find . -maxdepth 2 -name "README*" -type f 2>/dev/null | head -10
echo -e "\n=== Checking subgraph root for documentation ==="
ls -la subgraph/ | grep -iE "readme|setup|install|contributing" || echo "No setup docs found in subgraph/"Length of output: 558
Let me correct the script syntax and explore the directory structure:
🏁 Script executed:
#!/bin/bash
# Corrected verification script
echo "=== Current directory structure ==="
pwd
ls -la | head -20
echo -e "\n=== Checking for subgraph/package.json ==="
if [ -f subgraph/package.json ]; then
echo "Found subgraph/package.json"
echo "=== env-cmd in subgraph/package.json ==="
jq '.dependencies."env-cmd" // .devDependencies."env-cmd" // "NOT FOUND"' subgraph/package.json
echo "=== goldsky in subgraph/package.json ==="
jq '.dependencies | keys[] | select(. | contains("goldsky"))' subgraph/package.json 2>/dev/null || echo "Not in dependencies"
jq '.devDependencies | keys[] | select(. | contains("goldsky"))' subgraph/package.json 2>/dev/null || echo "Not in devDependencies"
else
echo "subgraph/package.json not found in current directory"
fi
echo -e "\n=== Search for README files in repo ==="
find . -type f \( -name "README.md" -o -name "README.txt" -o -name "SETUP*" \) 2>/dev/null | grep -v node_modules | grep -v ".git" | head -10
echo -e "\n=== Search for goldsky/Goldsky mentions in root directory files ==="
grep -r "goldsky\|@goldskycom" . --include="*.md" --include="*.txt" 2>/dev/null | head -5 || echo "No mentions found"Length of output: 845
I need to navigate to the cloned repository directory:
🏁 Script executed:
#!/bin/bash
# Navigate to repo and verify dependencies
cd git
echo "=== Working directory ==="
pwd
echo -e "\n=== Content of subgraph/package.json (dependencies section) ==="
jq '.dependencies' subgraph/package.json 2>/dev/null | head -20
echo -e "\n=== Content of subgraph/package.json (devDependencies section) ==="
jq '.devDependencies' subgraph/package.json 2>/dev/null | head -20
echo -e "\n=== Search for goldsky or env-cmd ==="
jq '.dependencies + .devDependencies | keys[] | select(. | test("goldsky|env-cmd"))' subgraph/package.json 2>/dev/null || echo "Neither found in dependencies"
echo -e "\n=== README files in repository ==="
find . -maxdepth 3 -name "README*" -type f 2>/dev/null | grep -v node_modules | head -10
echo -e "\n=== GitHub workflows or CI config mentioning goldsky ==="
find . -path "*/.github/workflows/*.yml" -o -path "*/.github/workflows/*.yaml" 2>/dev/null | xargs grep -l "goldsky" 2>/dev/null || echo "No CI workflow references to goldsky"Length of output: 606
Now let me check the README files for deployment setup instructions:
🏁 Script executed:
#!/bin/bash
cd git
echo "=== Root README.md (deployment section) ==="
grep -A 20 -B 2 -i "deploy\|goldsky\|setup" README.md | head -50
echo -e "\n=== Subgraph README.md (full content) ==="
cat subgraph/README.mdLength of output: 8907
Add @goldskycom/cli dependency or document Satsuma deployment setup.
The deploy:sepolia and deploy:mainnet scripts invoke the goldsky CLI command, but @goldskycom/cli is not listed in subgraph/package.json dependencies. Additionally, the README does not document the setup required for Satsuma deployments.
Either:
- Add
@goldskycom/clitosubgraph/package.jsonas a dev dependency, or - Document clear setup instructions for developers to install the Goldsky CLI globally and configure Satsuma deployment credentials
Note: env-cmd is already properly included as a devDependency, so that is not a concern.
🤖 Prompt for AI Agents
In subgraph/package.json around lines 11-12 the npm scripts call the external
goldsky CLI but @goldskycom/cli is not declared; add @goldskycom/cli as a
devDependency (run npm install --save-dev @goldskycom/cli and update
package.json) so CI and local installs can run the scripts, and also update the
repository README with a short Satsuma deployment section that documents either
installing the Goldsky CLI globally (npm i -g @goldskycom/cli) or using the
local devDependency, and the required env vars/steps to obtain and set
SATSUMA_DEPLOY_KEY and IPFS_HASH for deploys.
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
subgraph/package.json (1)
11-12: Unresolved critical issue: Missing@goldskycom/clidependency.The
deploy:sepoliaanddeploy:mainnetscripts invoke thegoldskycommand, but@goldskycom/cliis not listed inpackage.jsondependencies or devDependencies. The deploy scripts will fail without this package.Add
@goldskycom/clias a devDependency to resolve this blocker.Apply this diff to add the missing dependency:
"devDependencies": { - "env-cmd": "^10.1.0" + "env-cmd": "^10.1.0", + "@goldskycom/cli": "^0.1.0" }Alternatively, if
@goldskycom/cliis installed globally in the CI/CD environment, document this clearly in the deployment section ofsubgraph/README.mdand add a setup instruction in.env.exampleor a separateSETUP.mdfile.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
subgraph/package.json(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Smart contract tests
subgraph/package.json
Outdated
| "deploy:sepolia": "env-cmd -x -f ../.env goldsky subgraph deploy ip-nft-sepolia/1.3.3 --from-ipfs-hash \\$IPFS_HASH --ipfs-gateway https://ipfs.satsuma.xyz", | ||
| "deploy:mainnet": "env-cmd -x -f ../.env goldsky subgraph deploy ip-nft-mainnet/1.3.3 --from-ipfs-hash \\$IPFS_HASH --ipfs-gateway https://ipfs.satsuma.xyz", |
There was a problem hiding this comment.
🧩 Analysis chain
Verify .env.example and subgraph/README.md are updated with deployment documentation.
The deploy scripts reference the IPFS_HASH environment variable (Line 11-12). Developers need clear documentation on:
- Where to find/generate the
IPFS_HASHvalue for deployments - How to obtain and set
SATSUMA_DEPLOY_KEY - Step-by-step deployment instructions
Run the following script to verify environment variable documentation and README updates:
🏁 Script executed:
#!/bin/bash
# Description: Verify .env.example and README files have Goldsky deployment documentation
echo "=== Checking .env.example for IPFS_HASH and SATSUMA_DEPLOY_KEY ==="
if [ -f ".env.example" ]; then
grep -A 2 "IPFS_HASH\|SATSUMA_DEPLOY_KEY" .env.example || echo "⚠️ Missing environment variable documentation"
else
echo "⚠️ .env.example not found"
fi
echo -e "\n=== Checking subgraph/README.md for Goldsky deployment documentation ==="
if [ -f "subgraph/README.md" ]; then
grep -i "goldsky\|deploy:sepolia\|deploy:mainnet\|IPFS_HASH" subgraph/README.md && echo "✓ Found Goldsky deployment docs" || echo "⚠️ Missing Goldsky deployment documentation in subgraph/README.md"
else
echo "⚠️ subgraph/README.md not found"
fi
echo -e "\n=== Checking root README.md for deployment setup instructions ==="
if [ -f "README.md" ]; then
grep -A 10 -i "deploy\|goldsky" README.md | head -20 || echo "⚠️ Missing deployment section in root README"
else
echo "⚠️ README.md not found"
fiLength of output: 3983
Add Goldsky deployment documentation to subgraph/README.md.
Verification shows .env.example contains IPFS_HASH and SATSUMA_DEPLOY_KEY environment variables with basic documentation. However, subgraph/README.md is missing Goldsky deployment workflow instructions. Developers need clear steps in the subgraph README explaining how to:
- Obtain and set
IPFS_HASHfrom the Alchemy subgraph endpoint - Obtain and set
SATSUMA_DEPLOY_KEY - Run
npm run deploy:sepoliaandnpm run deploy:mainnet
🤖 Prompt for AI Agents
In subgraph/package.json around lines 11 to 12, the repo defines npm scripts
deploy:sepolia and deploy:mainnet using IPFS_HASH and a Goldsky (Satsuma) deploy
key but subgraph/README.md lacks instructions; update subgraph/README.md to add
a "Goldsky / Satsuma deployment" section that (1) shows how to obtain the
IPFS_HASH by fetching the Alchemy subgraph endpoint (include the exact curl/HTTP
request pattern and where to copy the returned IPFS hash), (2) explains how to
obtain/set SATSUMA_DEPLOY_KEY (where to get the key from Goldsky/Satsuma and how
to store it in .env or environment), (3) documents running the scripts npm run
deploy:sepolia and npm run deploy:mainnet (including the requirement to have
.env populated, env-cmd usage, and the IPFS gateway), and (4) add a brief
verification step to confirm deployment succeeded; keep the instructions concise
and copy-pastable for developers.
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
subgraph/package.json (1)
11-12:@goldskycom/clidependency is missing frompackage.json.The deploy scripts invoke the
goldskycommand, which requires@goldskycom/clito be installed. However, this dependency is not declared in eitherdependenciesordevDependencies. This will cause the scripts to fail in CI/CD pipelines and local environments.Add
@goldskycom/clias a dev dependency:"devDependencies": { "env-cmd": "^10.1.0" + "@goldskycom/cli": "^0.1.0" }Then run
npm installto updatepackage-lock.json.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Linear integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
📒 Files selected for processing (1)
subgraph/package.json(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Smart contract tests
subgraph/package.json
Outdated
| "deploy:sepolia": "env-cmd -x -f ../.env goldsky subgraph deploy ip-nft-sepolia/1.3.2 --ipfs-gateway https://ipfs.satsuma.xyz", | ||
| "deploy:mainnet": "env-cmd -x -f ../.env goldsky subgraph deploy ip-nft-mainnet/1.3.2 --ipfs-gateway https://ipfs.satsuma.xyz", |
There was a problem hiding this comment.
🧩 Analysis chain
Verify IPFS_HASH environment variable is correctly used in the deploy command.
The deploy scripts reference IPFS_HASH via env-cmd -x -f ../.env, but the goldsky command syntax does not show how it is consumed. The command is:
goldsky subgraph deploy ip-nft-sepolia/1.3.2 --ipfs-gateway https://ipfs.satsuma.xyz
Typically, Goldsky deployments using IPFS require a flag like --from-ipfs-hash <hash> or similar. Confirm that:
- The
IPFS_HASHvariable is actually used by thegoldskycommand in the environment - The deploy command syntax is complete and correct
- Documentation clearly shows developers how to obtain and set
IPFS_HASH
Run the following script to verify the Goldsky CLI documentation and expected deploy command syntax:
🌐 Web query:
What is the correct syntax for goldsky subgraph deploy command with IPFS hash?
💡 Result:
Use the --from-ipfs-hash flag. Example:
goldsky subgraph deploy your-subgraph-name/your-version --from-ipfs-hash <YOUR_IPFS_HASH> [--ipfs-gateway https://ipfs.satsuma.xyz]. (docs.goldsky.com)
Sources:
[1] Goldsky docs — Migrate from The Graph.
[2] Goldsky docs — Migrate from Alchemy (example with --ipfs-gateway).
Citations:
Add missing --from-ipfs-hash flag to deploy commands.
The deploy scripts are incomplete. The correct syntax requires the --from-ipfs-hash flag, but your commands omit it:
"deploy:sepolia": "env-cmd -x -f ../.env goldsky subgraph deploy ip-nft-sepolia/1.3.2 --from-ipfs-hash $IPFS_HASH --ipfs-gateway https://ipfs.satsuma.xyz",
"deploy:mainnet": "env-cmd -x -f ../.env goldsky subgraph deploy ip-nft-mainnet/1.3.2 --from-ipfs-hash $IPFS_HASH --ipfs-gateway https://ipfs.satsuma.xyz",
Without this flag, the IPFS_HASH environment variable loaded by env-cmd is never consumed by the goldsky command.
🤖 Prompt for AI Agents
In subgraph/package.json around lines 11 to 12 the deploy scripts omit the
required --from-ipfs-hash flag so the IPFS_HASH loaded by env-cmd is never
passed to goldsky; update both "deploy:sepolia" and "deploy:mainnet" script
values to include --from-ipfs-hash $IPFS_HASH before the --ipfs-gateway option
(ensuring the environment variable is exported/available via env-cmd) so goldsky
receives the IPFS hash during deployment.
https://linear.app/molecule-to/issue/IP-1245/be-alchemy-subgraphs-are-getting-deprecated-on-dec-8-2025
Summary by CodeRabbit