-
Notifications
You must be signed in to change notification settings - Fork 5
feat/add-core-dao-and-monad-support #249
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
base: main
Are you sure you want to change the base?
Conversation
WalkthroughAdds Core DAO and Monad network support across deployment and indexing: updates Graph deployment scripts, adds IPFS and auth constants, extends Envio and The Graph configs with new network entries and contracts, and adds type/handler support for Sablier v3.0 lockup handlers. Replaces many imports from `sablier` to `sablier/evm`, bumps package version to 1.3.0-beta.3, updates dependencies (including sablier to 1.6.1), and adds a new COREDAO_AUTH_TOKEN environment variable and CHANGELOG entry. Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ 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)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 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: 2
🧹 Nitpick comments (1)
graph/graph.just (1)
106-122: Reduce code duplication in subgraph_name assignment.The
subgraph_nameassignment on lines 110 and 116 is identical. Consider extracting it outside the case statement to follow the DRY principle.Apply this refactor:
@deploy-custom chain_slug version_label: codegen extra_args="" + subgraph_name={{ chain_slug }}/sablier-{{ INDEXER_NAME }}-{{ chain_slug }} case {{ chain_slug }} in lightlink) node_url="https://graph.phoenix.lightlink.io/rpc" ipfs_url="{{ IPFS_URL }}" - subgraph_name={{ chain_slug }}/sablier-{{ INDEXER_NAME }}-{{ chain_slug }} ;; core) node_url="https://thegraph.coredao.org/deploy/" ipfs_url="{{ IPFS_CORE_URL }}" extra_args="--deploy-key {{ COREDAO_AUTH_TOKEN }}" - subgraph_name={{ chain_slug }}/sablier-{{ INDEXER_NAME }}-{{ chain_slug }} ;; *) echo "Error: Unsupported chain '{{ chain_slug }}'. Supported chains: lightlink, core-dao" exit 1 ;; esac
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
CHANGELOG.md(1 hunks)graph/graph.just(2 hunks)src/indexers/graph.ts(2 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
**/*.{js,jsx,ts,tsx,json,css,graphql,gql}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{js,jsx,ts,tsx,json,css,graphql,gql}: Usejust biome-writeto auto-fix formatting for JS/TS/JSON/CSS/GraphQL files when those files change
Usejust biome-checkto verify formatting for JS/TS/JSON/CSS/GraphQL files
Files:
src/indexers/graph.ts
**/*.{md,yaml,yml}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{md,yaml,yml}: Usejust prettier-writeto auto-fix formatting for Markdown and YAML files when those files change
Usejust prettier-checkto verify formatting for Markdown and YAML files
Files:
CHANGELOG.md
🧠 Learnings (4)
📚 Learning: 2025-10-20T14:28:42.861Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: graph/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:28:42.861Z
Learning: Applies to graph/**/{airdrops,flow,lockup}/schema.graphql : Do not edit generated {indexer}/schema.graphql files directly
Applied to files:
src/indexers/graph.ts
📚 Learning: 2025-10-20T14:28:42.861Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: graph/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:28:42.861Z
Learning: Applies to graph/schema/{airdrops,common}/** : Airdrops indexer schema sources come from schema/airdrops/ plus shared schema/common
Applied to files:
src/indexers/graph.ts
📚 Learning: 2025-10-20T14:29:12.051Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: schema/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:29:12.051Z
Learning: Applies to schema/graph/*/schema.graphql : NEVER edit generated files: graph/{indexer}/schema.graphql
Applied to files:
src/indexers/graph.ts
📚 Learning: 2025-10-20T14:27:27.706Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: envio/analytics/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:27:27.706Z
Learning: Applies to envio/analytics/**/analytics.graphql : Edit the GraphQL schema directly in analytics.graphql within this indexer
Applied to files:
src/indexers/graph.ts
⏰ 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: ci
🔇 Additional comments (5)
CHANGELOG.md (1)
8-18: LGTM!The changelog entry follows the established format and correctly documents the addition of Core DAO support.
graph/graph.just (2)
104-104: LGTM!Correctly updated to remove the explicit
ipfs_urlparameter since it's now dynamically assigned within the case statement.
125-125: LGTM!Correctly updated to use shell variable syntax
$ipfs_urlinstead of the Just template syntax sinceipfs_urlis now assigned as a shell variable within the case statement.src/indexers/graph.ts (2)
133-133: Core DAO endpoint URL is correct.The URL matches the documented mainnet query endpoint format for Core DAO. No changes needed.
26-26: The original review concern about missing manifest files is based on an incorrect understanding of the manifest generation system.The chain slug override at line 26 (
[chains.coreDao.id]: "core") is correct and necessary. Manifest files are not meant to be static, pre-existing files. They are dynamically generated during the build process via thecodegen-manifestrecipe, which runs as a dependency before deployment. The deployment workflow in graph.just (line 81) explicitly depends oncodegen-manifestrunning first, and the chain slug "core" is properly supported in the deployment pipeline with Core DAO-specific configuration (https://thegraph.coredao.org/deploy/).Likely an incorrect or invalid review comment.
e3bec89 to
7b0e0ff
Compare
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
🧹 Nitpick comments (1)
contracts/lockup.ts (1)
2-2: Runtime contracts/Version import moved tosablier/evm; consider aligning type importPulling
contractsandVersionfromsablier/evmmatches the rest of the migration and keepslockupContractsbehavior the same. You still importtype { Sablier }from the root"sablier", which is fine if that type namespace is stable in the bumped version; ifsablier/evmalso re‑exports theSabliertype, you might optionally import it from there for consistency.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (34)
.env.example(1 hunks)CHANGELOG.md(1 hunks)cli/commands/codegen/gql-config/base-config.ts(1 hunks)cli/commands/codegen/graph-manifest/sources/airdrops.ts(1 hunks)contracts/airdrops.ts(1 hunks)contracts/flow.ts(1 hunks)contracts/lockup.ts(1 hunks)envio/airdrops/config.yaml(1 hunks)envio/airdrops/helpers/fees.ts(1 hunks)envio/analytics/config.yaml(2 hunks)envio/analytics/effects/coingecko.ts(1 hunks)envio/analytics/presets/lightlink/lightlink.ts(1 hunks)envio/analytics/store/entity-fees.ts(1 hunks)envio/analytics/tests/effects/coingecko.test.ts(1 hunks)envio/common/deprecated.ts(1 hunks)envio/flow/config.yaml(2 hunks)envio/lockup/config.yaml(1 hunks)envio/lockup/effects/proxender.ts(1 hunks)envio/lockup/store/entity-stream.ts(1 hunks)events/airdrops.ts(1 hunks)events/flow.ts(1 hunks)events/lockup.ts(1 hunks)graph/graph.just(2 hunks)package.json(4 hunks)schema/enums.ts(1 hunks)src/experimental.ts(1 hunks)src/indexers/envio-deployments.ts(1 hunks)src/indexers/envio.ts(2 hunks)src/indexers/graph.ts(4 hunks)tests/vendors/chains.test.ts(1 hunks)tests/vendors/equivalence/airdrops.test.ts(1 hunks)tests/vendors/equivalence/create-test.ts(1 hunks)tests/vendors/equivalence/flow.test.ts(1 hunks)tests/vendors/equivalence/lockup.test.ts(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (21)
- contracts/airdrops.ts
- tests/vendors/equivalence/create-test.ts
- CHANGELOG.md
- envio/analytics/effects/coingecko.ts
- src/experimental.ts
- envio/analytics/tests/effects/coingecko.test.ts
- envio/lockup/config.yaml
- schema/enums.ts
- envio/lockup/store/entity-stream.ts
- events/flow.ts
- envio/airdrops/config.yaml
- cli/commands/codegen/gql-config/base-config.ts
- package.json
- events/lockup.ts
- src/indexers/graph.ts
- src/indexers/envio.ts
- cli/commands/codegen/graph-manifest/sources/airdrops.ts
- tests/vendors/equivalence/airdrops.test.ts
- envio/airdrops/helpers/fees.ts
- tests/vendors/equivalence/flow.test.ts
- graph/graph.just
🧰 Additional context used
📓 Path-based instructions (4)
**/*.{js,jsx,ts,tsx,json,css,graphql,gql}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{js,jsx,ts,tsx,json,css,graphql,gql}: Usejust biome-writeto auto-fix formatting for JS/TS/JSON/CSS/GraphQL files when those files change
Usejust biome-checkto verify formatting for JS/TS/JSON/CSS/GraphQL files
Files:
events/airdrops.tsenvio/lockup/effects/proxender.tsenvio/analytics/presets/lightlink/lightlink.tstests/vendors/equivalence/lockup.test.tsenvio/common/deprecated.tssrc/indexers/envio-deployments.tscontracts/lockup.tsenvio/analytics/store/entity-fees.tscontracts/flow.tstests/vendors/chains.test.ts
**/*.{md,yaml,yml}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{md,yaml,yml}: Usejust prettier-writeto auto-fix formatting for Markdown and YAML files when those files change
Usejust prettier-checkto verify formatting for Markdown and YAML files
Files:
envio/flow/config.yamlenvio/analytics/config.yaml
tests/vendors/**/*.test.ts
📄 CodeRabbit inference engine (tests/CLAUDE.md)
Place vendor tests under tests/vendors/ as *.test.ts files (e.g., chains, equivalence)
Files:
tests/vendors/equivalence/lockup.test.tstests/vendors/chains.test.ts
tests/**/*.test.ts
📄 CodeRabbit inference engine (tests/CLAUDE.md)
Use Vitest as the testing framework for all test files
Files:
tests/vendors/equivalence/lockup.test.tstests/vendors/chains.test.ts
🧠 Learnings (15)
📚 Learning: 2025-10-20T14:28:18.242Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: events/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:28:18.242Z
Learning: Applies to events/**/events/!(index).ts : Define event definitions per protocol in a dedicated {protocol}.ts file (e.g., airdrops.ts, flow.ts, lockup.ts)
Applied to files:
events/airdrops.tssrc/indexers/envio-deployments.ts
📚 Learning: 2025-10-20T14:28:18.242Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: events/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:28:18.242Z
Learning: Applies to events/**/events/common/**/*.ts : Place shared event definitions (e.g., ERC721, ERC20) under the common/ directory
Applied to files:
events/airdrops.ts
📚 Learning: 2025-10-20T14:28:18.242Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: events/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:28:18.242Z
Learning: Applies to events/**/events/!(index).ts : Each protocol file must export a Types.EventMap shaped as { [contractName]: { [version]: Types.Event[] } }
Applied to files:
events/airdrops.tssrc/indexers/envio-deployments.tscontracts/lockup.tscontracts/flow.tstests/vendors/chains.test.ts
📚 Learning: 2025-10-20T14:28:18.242Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: events/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:28:18.242Z
Learning: Applies to events/**/events/!(index).ts : Use protocol values of flow, lockup, or airdrops in Types.Event.protocol
Applied to files:
events/airdrops.tssrc/indexers/envio-deployments.tscontracts/flow.ts
📚 Learning: 2025-10-20T14:27:05.970Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: envio/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:27:05.970Z
Learning: Applies to envio/**/bindings.ts : After GraphQL schema changes, update bindings.ts to add or remove imports so types match the new schema
Applied to files:
events/airdrops.tsenvio/lockup/effects/proxender.tsenvio/common/deprecated.tssrc/indexers/envio-deployments.tsenvio/analytics/store/entity-fees.tstests/vendors/chains.test.ts
📚 Learning: 2025-10-20T14:29:12.051Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: schema/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:29:12.051Z
Learning: Applies to schema/airdrops/** : Airdrops indexer schema sources live in schema/airdrops/ (plus shared from schema/common/)
Applied to files:
events/airdrops.ts
📚 Learning: 2025-10-20T14:27:18.351Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: envio/airdrops/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:27:18.351Z
Learning: Applies to envio/airdrops/**/airdrops.graphql : Do not edit the airdrops.graphql file directly
Applied to files:
events/airdrops.ts.env.example
📚 Learning: 2025-10-20T14:26:47.083Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: contracts/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:26:47.083Z
Learning: Protocol contract sources should be organized as one file per protocol named {protocol}.ts, each defining the contracts for that protocol (e.g., airdrops, flow, lockup)
Applied to files:
events/airdrops.tssrc/indexers/envio-deployments.tscontracts/lockup.tscontracts/flow.tstests/vendors/chains.test.ts
📚 Learning: 2025-10-20T14:26:47.083Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: contracts/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:26:47.083Z
Learning: Use convertToIndexed to transform contracts from the sablier package format to the indexer format used by the Envio runtime
Applied to files:
events/airdrops.tstests/vendors/equivalence/lockup.test.tssrc/indexers/envio-deployments.tscontracts/lockup.tscontracts/flow.ts
📚 Learning: 2025-10-20T14:26:47.083Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: contracts/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:26:47.083Z
Learning: The index.ts in this module must export indexedContracts and the convertToIndexed helper
Applied to files:
events/airdrops.tscontracts/lockup.tscontracts/flow.ts
📚 Learning: 2025-10-20T14:28:18.242Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: events/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:28:18.242Z
Learning: Applies to events/**/events/!(index).ts : Each Types.Event entry must include contractName, eventName, protocol, version, and indexers
Applied to files:
events/airdrops.tscontracts/lockup.ts
📚 Learning: 2025-10-20T14:27:46.074Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: envio/flow/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:27:46.074Z
Learning: Applies to envio/flow/**/flow.graphql : Do not edit flow.graphql directly
Applied to files:
envio/flow/config.yaml
📚 Learning: 2025-10-20T14:29:33.472Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: tests/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:29:33.472Z
Learning: Applies to tests/vendors/**/*.test.ts : Place vendor tests under tests/vendors/ as *.test.ts files (e.g., chains, equivalence)
Applied to files:
tests/vendors/equivalence/lockup.test.tstests/vendors/chains.test.ts
📚 Learning: 2025-10-20T14:29:33.472Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: tests/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:29:33.472Z
Learning: Applies to tests/*.test.ts : Place core tests in tests/*.test.ts (e.g., codegen, event resolution)
Applied to files:
tests/vendors/equivalence/lockup.test.tstests/vendors/chains.test.ts
📚 Learning: 2025-10-20T14:29:33.472Z
Learnt from: CR
Repo: sablier-labs/indexers PR: 0
File: tests/CLAUDE.md:0-0
Timestamp: 2025-10-20T14:29:33.472Z
Learning: Applies to tests/**/*.test.ts : Use Vitest as the testing framework for all test files
Applied to files:
tests/vendors/chains.test.ts
⏰ 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: ci
🔇 Additional comments (13)
envio/common/deprecated.ts (1)
2-3: Based on my web search attempts, I was unable to find definitive information about whether thesablierpackage version 1.6.1 supports the"sablier/evm"subpath export. The search results primarily returned information about Sablier smart contract packages (Solidity) rather than the JavaScript/TypeScript package being imported.To verify this import path, I would need to inspect the codebase's
package.jsonor lock file to confirm the exact package name and version being used.
Verify that the "sablier" package version being used supports the "sablier/evm" subpath export.
The import has been restructured to import
Versionfrom"sablier/evm"instead of the previous location. Please confirm that this subpath export exists in the sablier package version specified in yourpackage.json, and that the build/bundler can resolve this path correctly. You may also want to test the imports locally to ensure no runtime errors occur.envio/lockup/effects/proxender.ts (1)
3-3: LGTM!Import path update is consistent with the repository-wide refactor to use
sablier/evm.contracts/flow.ts (1)
2-2: LGTM!Import path update is consistent with the repository-wide refactor to use
sablier/evm.envio/analytics/store/entity-fees.ts (1)
5-5: LGTM!Import path update from
sablier/dist/chainstosablier/evm/chainsis consistent with the repository-wide package restructuring.envio/analytics/presets/lightlink/lightlink.ts (1)
5-5: LGTM!Import path update from
sablier/dist/chainstosablier/evm/chainsis consistent with the repository-wide package restructuring..env.example (1)
17-19: Environment variable usage verified—no issues found.The verification search confirms that
COREDAO_AUTH_TOKENis properly referenced in the deployment scripts. Ingraph/graph.just, the variable is correctly:
- Retrieved from the environment at line 25 using
env("COREDAO_AUTH_TOKEN")- Passed as a deploy key argument at line 115:
--deploy-key {{ COREDAO_AUTH_TOKEN }}The environment variable is appropriately documented in
.env.exampleand correctly integrated into the deployment workflow.envio/flow/config.yaml (2)
238-238: Block number change is intentional and verified as part of Sablier version update.The
start_blockreduction from 168340950 to 24174155 for SablierFlow_v2_0 on network 59144 (Linea) was made in commit 2faed2e ("chore: bump sablier to the latest version") on Nov 14, 2025, as part of a coordinated update to the latest Sablier contracts. The same block number appears consistently across bothenvio/flow/config.yamlandenvio/analytics/config.yaml, and the change includes corresponding ABI path updates (fromdist/abi/todist/evm/abi/), confirming this reflects the official Sablier package release with updated deployment information for Linea.
279-289: Configuration verified and correct.The network 143 configuration has been confirmed:
- Monad mainnet uses chain ID 143
- Alchemy supports Monad mainnet with the RPC endpoint
https://monad-mainnet.g.alchemy.com/v2/<API_KEY>- SablierFlow v2.0 is deployed on Monad mainnet at address
0x0340a829b6dc3adf7710a5baf1970914af4977f5The start_block 34582553 is consistently referenced across both
envio/flow/config.yamlandenvio/analytics/config.yaml, confirming intentional configuration reuse. All values are accurate.envio/analytics/config.yaml (1)
703-728: Configuration is structurally correct and consistent across all network files.Verification confirms:
- Lines 703-728 in
envio/analytics/config.yamlmatch the stated configuration- Network 143 contracts and addresses are consistent across
analytics/config.yaml,flow/config.yaml,lockup/config.yaml, andairdrops/config.yaml- YAML formatting passes Prettier validation
- No syntax or structural issues
The addresses and start blocks cannot be validated without access to Monad mainnet blockchain data. Manual verification of deployment records is required to confirm:
- Contract addresses are correctly deployed on Monad
- Start block numbers accurately reflect deployment blocks
events/airdrops.ts (1)
5-5: Invalid import path for [email protected] — fix required.The import
sablier/evmis not supported in sablier v1.6.1. Use the documented top-level import (import { ... } from "sablier") or the separate @sablier/evm-utils package for EVM-specific utilities instead.⛔ Skipped due to learnings
Learnt from: CR Repo: sablier-labs/indexers PR: 0 File: contracts/CLAUDE.md:0-0 Timestamp: 2025-10-20T14:26:47.083Z Learning: Use convertToIndexed to transform contracts from the sablier package format to the indexer format used by the Envio runtimeLearnt from: CR Repo: sablier-labs/indexers PR: 0 File: contracts/CLAUDE.md:0-0 Timestamp: 2025-10-20T14:26:47.083Z Learning: Protocol contract sources should be organized as one file per protocol named {protocol}.ts, each defining the contracts for that protocol (e.g., airdrops, flow, lockup)Learnt from: CR Repo: sablier-labs/indexers PR: 0 File: events/CLAUDE.md:0-0 Timestamp: 2025-10-20T14:28:18.242Z Learning: Applies to events/**/events/!(index).ts : Each protocol file must export a Types.EventMap shaped as { [contractName]: { [version]: Types.Event[] } }Learnt from: CR Repo: sablier-labs/indexers PR: 0 File: contracts/CLAUDE.md:0-0 Timestamp: 2025-10-20T14:26:47.083Z Learning: The index.ts in this module must export indexedContracts and the convertToIndexed helpertests/vendors/equivalence/lockup.test.ts (1)
1-1: Import path migration tosablier/evm/chainslooks correctSwitching
sepoliato come fromsablier/evm/chainsis consistent with the sablier/evm migration and keeps the equivalence test behavior unchanged. File location undertests/vendors/equivalencealso matches the vendor-test layout guidelines. Based on learnings, this looks good.src/indexers/envio-deployments.ts (1)
1-1: UpdatedProtocolimport tosablier/evmis consistent with the migrationUsing
Protocolfromsablier/evmkeeps these deployment descriptors aligned with the rest of the sablier/evm-based code in this PR; theenvioDeploymentsstructure and keys remain unchanged.tests/vendors/chains.test.ts (1)
4-4:Protocolimport fromsablier/evmfits the new sablier API usageUpdating
Protocolto come fromsablier/evmkeeps this vendor chains test aligned with the rest of the migration while leaving the Graph/Envio checks unchanged. The file location and Vitest usage match the testing guidelines. Based on learnings, this is in good shape.
| - address: "0x977fdf70abed6b60eeccee85322bea4575b0b6ed" | ||
| name: "SablierFlow_v2_0" | ||
| start_block: 168340950 | ||
| start_block: 24174155 |
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.
Critical: Verify the start_block reduction for network 59144 (Linea).
The start_block for SablierFlow_v2_0 on network 59144 changed from 168340950 to 24174155—matching the same reduction seen in envio/flow/config.yaml. This is a decrease of approximately 144 million blocks that will trigger reindexing of historical data.
Please confirm this change is intentional and consistent across all affected config files. If correcting a deployment error, ensure this is documented.
🤖 Prompt for AI Agents
In envio/analytics/config.yaml around line 1343, the start_block for
SablierFlow_v2_0 on network 59144 was reduced from 168340950 to 24174155 (a
~144M block decrease) which will force a full reindex; verify whether this
reduction is intentional and, if not, restore the previous value (168340950)
across all affected config files (e.g., envio/flow/config.yaml) to keep them
consistent; if the change is intentional, add an inline comment in each changed
config and an entry in the deployment/change log documenting the reason, date,
and author so the reindexing impact is recorded.
This pr adds graph support for Core Dao and Monad