Dependencies in the dependencies struct must be defined using either a url and hash OR a path. The url and path fields are mutually exclusive.
Remote Dependencies
When using a url, you must provide a hash (multihash format). The hash is the source of truth; the url is simply a mirror. If you update a url, you must delete the old hash to avoid mismatch errors.
Local Dependencies
When using path, the package is located in a directory relative to the build root. In this case, the hash is not computed and is irrelevant.
Lazy Fetching
Set lazy = true to declare a dependency as lazily fetched. The package will only be fetched if it is actually used by the build process.