Contrato NO creado al usar "nuevo" en testnet

Tengo un contrato cuya función crea un nuevo contrato de la siguiente manera: (Solidez)

function createCarrier()
public
{
    P2Carrier newCarrier = new P2Carrier(msg.sender);
    emit contractCreated(address(newCarrier));
}

He implementado esto en Rinkeby TestNet. Al hacer una transacción para llamar a esta función (desde android usando web3j, e infura como proveedor de http) Se emite el evento, pero cuando busco la dirección emitida en el evento, No hay nada ahí (usando rinkeby.etherscan.io). Además, puedo ver la transacción enviada para llamar a la función en etherscan, pero no puedo ver ninguna transacción de creación de contrato adicional.

Puede ver la información del contrato y la transacción aquí: https://rinkeby.etherscan.io/address/0x7ca846b6d52ccec650187e5ed8e793701de4d00e

¿Alguna idea de lo que está mal?

Gracias.

Respuestas (1)

El contrato se está creando. El seguimiento de depuración de geth muestra el código de operación CREAR y el almacenamiento del código.

Además, si llama getCodea geth para una de las direcciones implementadas (desde el registro de este tx), obtiene algo de código. Aquí está la llamada a la API de Etherscan para eso

Parece que Etherscan simplemente no está indexando el contrato correctamente cuando se implementa desde otro contrato en Rinkeby, no estoy seguro de por qué. Sé que lo hace para ropsten y mainnet. Intente usar ropsten si realmente debe verlo en etherscan.