       Enum.filter(blocks_with_gas, fn %{:index => index} ->
         index > start_height && index <= end_height
       end)
-      |> Enum.reduce(0, fn %{:gas => gas}, acc -> acc + gas end)
-
-    round(value) * total_gas / total_neo()
+      |> Enum.reduce(%{:claimable => 0, :sys_fee => 0}, fn %{:claim => claim, :sys => sys}, acc -> %{:claimable => claim + acc.claimable, :sys_fee => sys + acc.sys_fee} end)
+
+    %{:claim => round(value) * total_gas.claimable / total_neo(),
+      :sys_fee => round(value) * total_gas.sys_fee / total_neo(),
+     }
   end
 
   # get all unclaimed transaction vouts

        repair_blocks()

      _ ->
        "Ok"
    end
  end

      |> verified_blocks()

    Enum.map(unclaimed, fn %{:value => value} = vout ->
      %{:claim => claim, :sys_fee => sys} = compute_vout_bonus(vout, blocks)
      Map.merge(vout, %{
        :unclaimed => claim + sys,
        :generated => claim,
        :sys_fee => sys,
        :value => round(value)
      })
    end)
