-
Notifications
You must be signed in to change notification settings - Fork 10
IP-1245-alchemy-subgraph-to-goldsky-move #175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 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