22. Assembly

# Verificar los tipos de direcciones.

assembly {
    size := extcodesize(dirección_wallet_o_contrato)
}

if (size > 0) {
    result = "Dirección del Smart Contract";
} else {
    result = "Dirección de la Wallet";
}

# Ahorrando Gas

function sumaAssembly(uint x, uint y) public pure returns(uint) {
    assembly {
        let resultado := add(x,y)
            mstore(0x0, resultado)
            return(0x0);
    }
}

function sumaAssembly(uint x, uint y) public pure returns(uint) {
    return x + y;
}

Last Updated: 9/10/2022, 4:27:54