La ejecución de la transacción de envío nunca termina [ACTUALIZADO]

Envío una transacción con web3 1.0.0 desde un script como:

async function sending(deployed_contract) {
    await deployed_contract.methods.mymethod(1).send({from: account})
                    .on('transactionHash', function(hash){
                        console.log("hash",hash)
                    })
                    .on('receipt', function(receipt){
                        console.log("receipt",receipt)
                    })
                    .on('confirmation', function(confirmationNumber, receipt){
                        console.log("confirmationNumber",confirmationNumber)
                    })
                    .on('error', console.error);
}

sending(deployed_contract)

y luego de recibir las confirmaciones y el recibo, el programa continúa ejecutándose y nunca termina. ¿Alguien podría explicarme por qué sucede?

ACTUALIZADO: ¿Podría ser porque tengo mi propia billetera funcionando? ¿O debería finalizar la ejecución del programa de todos modos?

var create_wallet = function (){
    privateKey = 'xxx';
    return new ethers.Wallet(privateKey, web3.currentProvider); 
}

wallet = create_wallet()
¿ Cómo deployed_contractse creó? Parece un problema de nodo, si tiene una tarea pendiente, no se detendrá y continuará esperando que finalicen todas las tareas. Algunas bibliotecas crearán una tarea en segundo plano para bases de datos de ejemplo.
Estoy haciendo: await contract.deploy({ data: '0x' }).send({...}) .then(function(newContractInstance){ deployed_contract = newContractInstance; });y, como dices, nunca termina. ¿Cómo podría terminar esta tarea?
¿Estás suscrito a eventos? En serio, sin examinar el código fuente completo es imposible saber qué está causando que su secuencia de comandos no finalice. Puede comenzar con un archivo javascript vacío y comenzar a agregar funcionalidad hasta que encuentre el responsable.
No estoy suscrito a eventos. He añadido una actualización en la descripción.
No es posible encontrar al culpable sin probar y examinar el código fuente. Intente comenzar con un archivo vacío y comience a agregar funcionalidad hasta que aparezca el error.
es el problema está en la función create_wallet() que muestro en la descripción

Respuestas (1)

Intente comentar el código para las confirmaciones, tal vez los nodos en la red continúan confirmando la transacción y esa es la razón por la que continúa ejecutándose.

Otra cosa es que no ha devuelto nada en ninguna parte, por lo que no hay forma de que el código se rompa.

Intenté hacer eso, pero el problema sigue ocurriendo.
Después de .on('error'), intente agregar .then() y devuelva el valor que contiene. O Puede devolver el recibo después de haber recibido uno.