Рефакторинг dApi.call

Очень сложно читать невыровненный код, думаешь что относится к одному if, а оно к другому оказывается. И еще там переделал кучу if-ов в switch.

PS. попутно задам вопрос - почему pass выделена как отдельная функция?