Project dependencies cannot access their contract types as ContractContainer instances (necessary to deploy them)
In [1]: type(project.dependencies["erc4626"].Vault)
Out[1]: ethpm_types.contract_type.ContractType
In [2]: type(project.Portfolio)
Out[2]: ape.contracts.base.ContractContainer
which gives me this error:
> return sudo.deploy(project.dependencies["erc4626"].Token)
E TypeError: 'ContractType' object is not callable
How can it be fixed?
I think because project.dependencies is a dict to manifest contents, and not Projects
potential idea: have projects load from ProjectAPI and then convert to manifest, add class method ApeProject.from_manifest that expands a project from a manifest file, so that it can be maximally useful inside of your local project.
What went wrong?
Project dependencies cannot access their contract types as
ContractContainer
instances (necessary to deploy them)which gives me this error:
How can it be fixed?
I think because project.dependencies is a dict to manifest contents, and not Projects
potential idea: have projects load from
ProjectAPI
and then convert to manifest, add class methodApeProject.from_manifest
that expands a project from a manifest file, so that it can be maximally useful inside of your local project.