truffle-contract Contract.new() produce un contrato vacío (sin estado)

Estoy haciendo una nueva copia de un contrato ya implementado. Estoy usando trufa, contrato de trufa para hacerlo. Desde el front-end de JS

var conf = contract(MyContract)
    conf.setProvider(this.state.web3.currentProvider)
    conf.new(this.state.party1name, this.state.party1regaddress, this.state.party2address, this.state.effdate,
            {from: web3.eth.accounts[0], gas : 3000000})
    .then((instance) => {conf = instance
        console.log(conf.address)
        console.log(conf.get())
    })

El código anterior implementa un nuevo contrato para mí, pero parece ignorar todos los parámetros que doy y el estado de mi nuevo contrato está vacío.

Cuando hago lo mismo desde la consola de trufas, funciona bien

MyContract.new("Manish", "Raffles Place", "0x61b755c693d7cf263f969f336be281a564af915d", {from: web3.eth.accounts[0]})

Revisé en la consola. Obtuve el registro a continuación.

ingrese la descripción de la imagen aquí

Así que obtengo la nueva dirección del contrato, pero los valores pasados ​​​​a mi constructor están vacíos.

Revisé en la consola con respecto a mis llamadas, puedo ver la promesa.valor
No puedo decir mucho, pero revisaría los parámetros para que sean nuevos, solo un archivo console.log para asegurar que los valores sean correctos. Otro problema que tengo es que los artefactos de trufa se desincronizan, por lo que tengo que eliminar build/la carpeta para forzar la recompilación de contratos.
Gracias @Ismael... eso ayudó... Acabo de borrar todo el abi compilado en la carpeta de compilación y compilé e implementé todo de nuevo e hice que mi constructor fuera pagadero y adivinen qué... está funcionando sin problemas ahora
Puede agregar eso como respuesta para que pueda ayudar a otros en una situación similar.

Respuestas (1)

Acabo de eliminar todo el abi compilado en la carpeta de compilación y compilé e implementé todo de nuevo e hice que mi constructor fuera pagadero y adivinen qué... está funcionando sin problemas ahora