Para implementar un contrato desde un artefacto en un casco (para fines de prueba), puedo obtener el archivo json del artefacto del contrato y ponerlo en el repositorio y luego hacerlo así:
import XTokenWrapperArtifact from './helpers/artifactsForTesting/XTokenWrapper.json'; const XTokenWrapperFactory = new ethers.ContractFactory( XTokenWrapperArtifact.abi, XTokenWrapperArtifact.bytecode, deployer, ); xTokenWrapperContract = await XTokenWrapperFactory.deploy(); await xTokenWrapperContract.deployed();Entonces puedo llamar al contrato usando await xTokenWrapperContract.method()
Cuando tengo un contrato actualizable trato de hacer lo mismo pero no funciona:
import PermissionManagerArtifact from './helpers/artifactsForTesting/PermissionManager.json'; const PermissionManagerFactory = new ethers.ContractFactory( PermissionManagerArtifact.abi, PermissionManagerArtifact.bytecode, deployer, ); permissionManagerContract = await upgrades.deployProxy(PermissionManagerFactory, []); await permissionManagerContract.deployed();Me sale en las pruebas este error:
Error: No se encontró el contrato solicitado. Asegúrese de que el código fuente esté disponible para la compilación
¿Alguien sabe cómo implementar un contrato actualizable desde un artefacto?
¡Muchas gracias!