Ejemplo:
MyReceiver my = MyReceiver(_to); // To is an arbitrary address user provided
my.someFunction(); // Do I need to check for my == null before calling?
Por extraño que parezca, no veo a nadie haciéndolo.
En Solidity no existe tal cosa como un "nulo" (al menos puede verificar si la dirección pasada no es especial como 0x00)
MyReceiver my = MyReceiver(_to);
esta línea almacenará _to address en la variable my
e indica al compilador que estamos tratando con un contrato (para construir las llamadas siguiendo la ABI). ¡No es como los objetos OOP!
compruébalo usando este código de fragmento:
MyReceiver c=MyReceiver(0x1234);
function test() view returns (address) {
return c;
}
si no desea verificar si existe el contrato, puede usar en su lugar
extcodesize(a)
para verificar si el tamaño del código en la dirección dada es 0 o no.
sk
Badr Bellaj