Fatti

La A. SA (attrice) aveva intrattenuto rapporti d'affari con la B. S.A.M. (convenuta) dal 1985. Al momento della revoca dell'autorizzazione bancaria della A. SA nel 1989, quest'ultima aveva investimenti presso la B. S.A.M. per un importo totale di DM 2'998'627.29, FF 5'847'000.-, GBP 1'862'635.- e USD 9'381'828.73, mentre i suoi impegni nei confronti della B. S.A.M. ammontavano a GBP 758'580.70 e USD 11'739'111.11. La A. SA ha contestato il diritto di compensazione della B. S.A.M., affermando che i suoi investimenti erano investimenti fiduciari per conto dei suoi clienti, ad eccezione di due investimenti. La B. S.A.M. ha contestato il carattere fiduciario degli investimenti. Il tribunale commerciale ha riconosciuto il diritto di compensazione della B. S.A.M. per la maggior parte degli investimenti, ritenendo che i documenti consegnati alla B. S.A.M. non contenessero indicazioni chiare sul carattere fiduciario degli investimenti e che la A. SA avesse espressamente confermato che gli investimenti della B. S.A.M. erano garantiti dai suoi stessi investimenti.

Legge

Secondo la giurisprudenza del Tribunale federale, l'art. 401 CO si applica anche ai rapporti fiduciari. Quando il fiduciante ha adempiuto i suoi obblighi nei confronti del fiduciario, i crediti di quest'ultimo nei confronti di terzi gli sono trasferiti. Tuttavia, il diritto di compensazione del terzo può essere opposto a lui, anche per crediti non collegati all'investimento fiduciario, a condizione che il terzo sia in buona fede e non abbia avuto conoscenza del carattere fiduciario dell'investimento.

Il Tribunale federale ha ammesso la…