In https://github.com/filecoin-project/lotus/issues/11703, a user came across an edge case where an SP:
1. Submitted a bad PoSt.
2. Terminated their sectors.
3. Withdrew all funds (after paying all fees).
This left the SP's miner actor with a bad proof but without any funds to pay for disputes. On the other hand, given that the sectors have been terminated and termination fees were already paid we don't really care about fining the SP for the bad proofs anyways.
But... we still don't want to submit dispute messages in this case because doing so isn't free and doesn't really serve a purpose.
So add a check to fetch miner wallet balance and only send disputing messages if balance is non zero.
fixes https://github.com/filecoin-project/lotus/issues/11715
Standarize cli/code functions similar to: https://github.com/filecoin-project/lotus/pull/9317
- cctx.NArg() instead of cctx.Args().xxx
- Add check for args and print help on functions that did not have it