The smart contract source code should be stored directly onchain, because chains are so powerful today.