Abaixo está uma instrução que descreve uma tarefa de geração de SQL, combinada com uma entrada que fornece mais contexto sobre os esquemas de tabela disponíveis. Escreva o código SQL que responda adequadamente à solicitação
 ###Instrução: Identificar contratos inteligentes com um uso médio de gás acima de 50000 na tabela 'SmartContracts', classificados pelo maior uso médio de gás em ordem decrescente.
 ###Tabelas: 
CREATE TABLE SmartContracts (contract_address VARCHAR(40), gas_used INT, num_transactions INT); INSERT INTO SmartContracts (contract_address, gas_used, num_transactions) VALUES ('0x123', 60000, 10), ('0x456', 45000, 15), ('0x789', 55000, 12);
SELECT contract_address, AVG(gas_used) as avg_gas_usage FROM SmartContracts GROUP BY contract_address HAVING avg_gas_usage > 50000 ORDER BY avg_gas_usage DESC;