Fatti: Fatti: A. Il 16 giugno 2003 la Corte delle assise criminali in Lugano dichiarava A._ autore colpevole di infrazione aggravata alla legge federale sugli stupefacenti (LStup; RS 812.121), ripetuto riciclaggio di denaro (in parte aggravato) e ripetuta organizzazione criminale, per cui, tenuto conto di una lieve scemata responsabilità, lo condannava a 14 anni di reclusione e a una multa di fr. 50'000.--, computato il carcere preventivo sofferto, interdicendogli inoltre l'esercizio dell'avvocatura per un periodo di 5 anni, disponendo un trattamento ambulatoriale ex art. 43 CP e ordinando infine numerose confische tra cui quella del denaro contante, per un ammontare totale di fr. 11'949'160.--, sequestrato dalle autorità in occasione di una delle perquisizioni del suo studio effettuate nell'agosto 2000. Gli accertamenti di fatto ritenuti a fondamento di tale sentenza sono i seguenti: - Per quanto concerne l'infrazione aggravata alla LStup, A._ faceva pervenire tramite terzi al narcotrafficante e boss di Cosa Nostra B._ ingenti importi di denaro, mediando in tal modo il finanziamento, rispettivamente concorrendo al finanziamento di un traffico di cocaina, per quantità che sapeva o doveva presumere tali da mettere in pericolo la salute di parecchie persone, poi concretizzatosi ad opera e per l'organizzazione di B._, C._ e altri, sfociato il 5 marzo 1994 nel sequestro di 5,4 t di cocaina da parte della polizia italiana a Borgaro Torinese (operazione "Cartagine"), poco prima che gli emissari di B._ e delle cosche della 'ndrangheta, cui il carico era destinato, potessero recuperarlo. - Contestualmente al reato di ripetuto riciclaggio di denaro, A._ compiva ripetutamente atti suscettibili di vanificare l'accertamento dell'origine, il ritrovamento e la confisca di valori patrimoniali che sapeva, rispettivamente doveva presumere essere provento di attività criminali, segnatamente tra il 10 e il 29 giugno 1993 egli aveva fatto cambiare in dodici occasioni, prima in franchi poi in dollari, la somma complessiva di 6'511'000'000 lire italiane, occultandola temporaneamente nel caveau del proprio studio, per consegnarla in seguito a D._ e E._, salvo trasportarne personalmente a Caracas una parte (1'900'000 USD), insieme con F._, e consegnarla a B._, di cui D._ e E._ erano emissari; inoltre, fra il 14 luglio e l'8 agosto 1993, in diciannove occasioni A._ faceva cambiare in franchi svizzeri l'importo complessivo di 9'967'290'000 lire italiane, occultandolo dapprima nel caveau del proprio studio e consegnandolo poi in buona parte a D._ e al genero di B._, G._; nel luglio-agosto 1993 A._ occultava inoltre nel proprio studio somme consegnategli da E._ per complessivi fr. 2'300'000.--, di cui fr. 900'000.-- ricevuti il 27 luglio 1993 e fr. 1'400'000.-- il 4 agosto successivo; tra il 21 settembre 1993 e il 14 settembre 1995 egli versava altresì, in tredici occasioni, la somma di fr. 1'302'000.--, rimasta in suo possesso dopo svariate operazioni di cambio, sul conto V._. presso l'allora banca W._ (attuale banca X._, Lugano), fatta accreditare in ragione di fr. 1'007'013.90, come da ordine ricevuto, su un conto dello studio legale Y._ di New York, nell'interesse di B._; infine tra l'autunno 1997 e la primavera 1998 A._ concorreva nel rimettere fr. 65'000.-- e complessivi 750'000 USD nella disponibilità della famiglia C._. - Infine per quanto riguarda il reato di ripetuta organizzazione criminale, A._ sosteneva ripetutamente organizzazioni criminose nella loro attività, segnatamente nel contesto dell'operazione denominata "Coccodrillo" da lui realizzata con soggetti facenti capo alle famiglie della 'ndrangheta T._, I._ e L._; in tale veste egli promuoveva il trasferimento dall'Italia alla Svizzera (in quattordici occasioni fra l'estate 1999 e l'agosto del 2000) di somme di denaro per un totale di 55'524'523'000 lire italiane, somme che previa importazione in Svizzera erano da lui fatte cambiare, prima in franchi svizzeri e poi parzialmente in dollari; dopo temporaneo deposito nel caveau del proprio studio egli provvedeva a trasferire il denaro in Italia, rimettendolo nella disponibilità delle mandanti organizzazioni criminali. A._ veniva invece prosciolto dalle ulteriori imputazioni contenute nell'atto d'accusa emanato il 27 gennaio 2003 dal Procuratore pubblico. A._ veniva invece prosciolto dalle ulteriori imputazioni contenute nell'atto d'accusa emanato il 27 gennaio 2003 dal Procuratore pubblico. B. Il 19 aprile 2004 la Corte di cassazione e di revisione penale del Tribunale d'appello (CCRP) respingeva, nella misura della sua ammissibilità, il ricorso presentato dal condannato contro la sentenza di primo grado, di cui chiedeva l'annullamento per quanto riguarda l'infrazione aggravata alla LStup ed una parte del reato di riciclaggio, con riduzione della pena - per i rimanenti reati - a 5 anni di reclusione. C. Con tempestivi ricorsi di diritto pubblico e per cassazione il condannato insorge dinanzi al Tribunale federale contro la sentenza della CCRP, chiedendone l'annullamento. Nel quadro del ricorso di diritto pubblico postula inoltre la sua immediata scarcerazione a titolo supercautelare. C. Con tempestivi ricorsi di diritto pubblico e per cassazione il condannato insorge dinanzi al Tribunale federale contro la sentenza della CCRP, chiedendone l'annullamento. Nel quadro del ricorso di diritto pubblico postula inoltre la sua immediata scarcerazione a titolo supercautelare. D. La CCRP ha rinunciato a presentare osservazioni, mentre il Procuratore Generale, con risposte del 12 luglio 2004, da un lato domanda la reiezione del ricorso di diritto pubblico e della relativa domanda di immediata scarcerazione, e dall'altra contesta la ricevibilità del ricorso per cassazione, subordinatamente la sua fondatezza, domandandone a sua volta la reiezione. D. La CCRP ha rinunciato a presentare osservazioni, mentre il Procuratore Generale, con risposte del 12 luglio 2004, da un lato domanda la reiezione del ricorso di diritto pubblico e della relativa domanda di immediata scarcerazione, e dall'altra contesta la ricevibilità del ricorso per cassazione, subordinatamente la sua fondatezza, domandandone a sua volta la reiezione. E. Il 22 luglio 2004 il giudice presidente della Corte di cassazione penale del Tribunale federale ha respinto la domanda supercautelare di scarcerazione.