Envio Error Codes
This guide provides a comprehensive list of error codes you may encounter when using Envio HyperIndex. Each error includes an explanation and recommended actions to resolve the issue.
How to Use This Guide
When encountering an error in Envio, you'll receive an error code (like EE101). Use this guide to:
- Locate the error code by category or by searching for the specific code
- Read the explanation to understand what caused the error
- Follow the recommended steps to resolve the issue
If you can't resolve an error after following the suggestions, please reach out for support on our Discord community.
Error Categories
Envio error codes are categorized by their first digits:
| Error Code Range | Category | Description |
|---|---|---|
EE100 - EE199 | Configuration File | Issues with the configuration file format, parameters, or values |
EE200 - EE299 | Schema File | Problems with GraphQL schema definition |
EE300 - EE399 | ABI File | Issues with smart contract ABI files or event definitions |
EE400 - EE499 | Initialization Arguments | Problems with initialization parameters or directories |
EE500 - EE599 | Event Handling | Issues with event handler files or functions |
EE600 - EE699 | Event Syncing | Problems with event synchronization process |
EE700 - EE799 | Database Functions | Issues with database operations |
EE800 - EE899 | Database Migrations | Problems with database schema migrations or tracking |
EE900 - EE999 | Contract Interface | Issues related to smart contract interfaces |
EE1000 - EE1099 | Chain Manager | Problems with blockchain network connections |
EE1100 - EE1199 | Lazy Loader | General errors related to the loading process |
Initialization-Related Errors
Configuration File Errors (EE100-EE111)
EE100: Invalid Addresses
Issue: The configuration file contains invalid smart contract addresses.
Solution: Verify all contract addresses in your configuration file. Ensure they:
- Match the correct format for the blockchain (0x-prefixed for EVM chains)
- Are valid addresses for the specified network
- Have the correct length (42 characters including '0x' for EVM)
EE101: Non-Unique Contract Names
Issue: The configuration file contains duplicate contract names.
Solution: Each contract in your configuration must have a unique name. Review your config.yaml and ensure all contract names are unique.
EE102: Reserved Words in Configuration File
Issue: Your configuration uses reserved programming words that conflict with Envio's code generation.
Solution:
- Review the reserved words list for JavaScript, TypeScript, and ReScript
- Rename any contract or event names that use reserved words
- Choose descriptive names that don't conflict with programming languages
EE103: Parse Event Error
Issue: Envio couldn't parse event signatures in your configuration.
Solution:
- Check your event signatures in the configuration file
- Ensure they match the format in your ABI
- Refer to the configuration guide for correct event definition syntax
EE104: Resolve Config Path
Issue: Envio couldn't find your configuration file at the specified path.
Solution:
- Verify that your configuration file exists in the correct directory
- Ensure the file is named correctly (usually
config.yaml) - Check for file permission issues
EE105: Deserialize Config
Issue: Your configuration file contains invalid YAML syntax.
Solution:
- Check your YAML file for syntax errors
- Ensure proper indentation and structure
- Validate your YAML using a linter or validator
EE106: Undefined Network Config
Issue: No hypersync_config or rpc defined for the chain specified in your configuration.
Solution:
- Add either a HyperSync or RPC configuration for your chain
- See the HyperSync Data Source or RPC Data Source documentation
- Example:
chains:
- id: 1
rpc:
url: "https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY"
EE108: Invalid Postgres Database Name
Issue: The Postgres database name provided doesn't meet requirements.
Solution: Provide a database name that:
- Begins with a letter or underscore
- Contains only letters, numbers, and underscores (no spaces)
- Has a maximum length of 63 characters
EE109: Incorrect RPC URL Format
Issue: The RPC URL in your configuration has an invalid format.
Solution:
- Ensure all RPC URLs start with either
http://orhttps:// - Verify the URL is correctly formatted and accessible
- Example:
https://eth-mainnet.g.alchemy.com/v2/YOUR_API_KEY
EE110: End Block Not Greater Than Start Block
Issue: Your configuration specifies an end block that is less than or equal to the start block.
Solution: If providing an end block, ensure it's greater than the start block:
start_block: 10000000
end_block: 20000000 # Must be greater than start_block
EE111: Invalid Characters in Contract or Event Names
Issue: Contract or event names contain invalid characters.
Solution: Use only alphanumeric characters and underscores in contract and event names.
Schema File Errors (EE200-EE217)
EE200: Schema File Read Error
Issue: Envio couldn't read the schema file.
Solution:
- Ensure the schema file exists at the expected location
- Check file permissions
- Verify the file isn't corrupted
EE201: Schema Parse Error
Issue: The schema file contains syntax errors.
Solution:
- Check for GraphQL syntax errors in your schema.graphql file
- Ensure all entities and fields are properly defined
- Validate your GraphQL schema with a schema validator
EE202: Multiple @derivedFrom Directives
Issue: An entity field has more than one @derivedFrom directive.
Solution: Use only one @derivedFrom directive per entity. Review your schema and remove duplicate directives.
EE203: Missing Field Argument for @derivedFrom
Issue: A @derivedFrom directive is missing the required field argument.
Solution: Add the field argument to your @derivedFrom directive:
type User {
id: ID!
orders: [Order!]! @derivedFrom(field: "user")
}
EE204: Invalid @derivedFrom Argument
Issue: The field argument in @derivedFrom has an invalid value.
Solution: Ensure the field argument contains a valid string value that matches a field name in the referenced entity.
EE207: Undefined Type
Issue: The schema contains an undefined type.
Solution: Use only supported scalar types or defined entity types:
IDStringIntFloatBooleanBytesBigInt
EE208: Unsupported Nullable Scalars
Issue: The schema contains nullable scalar types inside lists.
Solution: Use non-nullable scalars in lists by adding ! after the type:
# Incorrect
items: [String]
# Correct
items: [String!]!
EE209: Unsupported Multidimensional Lists
Issue: The schema contains nullable multidimensional list types.
Solution: Ensure inner list types are non-nullable:
# Incorrect
matrix: [[Int]]
# Correct
matrix: [[Int!]!]!
EE210: Reserved Words in Schema File
Issue: The schema uses reserved programming words.
Solution:
- Check the reserved words list
- Rename any entities or fields using reserved words
- Choose alternative descriptive names
EE211: Unsupported Arrays of Entities
Issue: The schema uses unsupported array syntax for entity relationships.
Solution: Use one of the supported methods for entity references as outlined in the schema documentation.
EE212: Reserved Enum Names
Issue: The schema uses enum names that conflict with Envio's internal enums.
Solution: Check the internal reserved types list and rename conflicting enums.
EE213: Duplicate Enum Values
Issue: An enum in the schema contains duplicate values.
Solution: Ensure all values within each enum type are unique.
EE214: Naming Conflicts Between Enums and Entities
Issue: The schema has enums and entities with the same names.
Solution: Ensure all enum and entity names are unique within the schema.
EE215: Incorrectly Placed Directive
Issue: A directive is used in an incorrect location in the schema.
Solution: Ensure directives are placed on appropriate schema elements according to GraphQL specifications.