Add function to display nanoFIL

Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
This commit is contained in:
Jakub Sztandera 2021-04-06 18:50:49 +02:00
parent 5f638b4193
commit cbfb4770fd
No known key found for this signature in database
GPG Key ID: 9A9AF56F8B3879BA
2 changed files with 17 additions and 2 deletions

View File

@ -46,6 +46,15 @@ func (f FIL) Short() string {
return strings.TrimRight(strings.TrimRight(r.FloatString(3), "0"), ".") + " " + prefix + "FIL" return strings.TrimRight(strings.TrimRight(r.FloatString(3), "0"), ".") + " " + prefix + "FIL"
} }
func (f FIL) Nano() string {
r := new(big.Rat).SetFrac(f.Int, big.NewInt(int64(1e9)))
if r.Sign() == 0 {
return "0"
}
return strings.TrimRight(strings.TrimRight(r.FloatString(9), "0"), ".") + " nFIL"
}
func (f FIL) Format(s fmt.State, ch rune) { func (f FIL) Format(s fmt.State, ch rune) {
switch ch { switch ch {
case 's', 'v': case 's', 'v':

View File

@ -11,6 +11,7 @@ import (
"github.com/filecoin-project/go-state-types/abi" "github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/big" "github.com/filecoin-project/go-state-types/big"
"github.com/filecoin-project/lotus/api" "github.com/filecoin-project/lotus/api"
"github.com/filecoin-project/lotus/build"
types "github.com/filecoin-project/lotus/chain/types" types "github.com/filecoin-project/lotus/chain/types"
"github.com/gdamore/tcell/v2" "github.com/gdamore/tcell/v2"
cid "github.com/ipfs/go-cid" cid "github.com/ipfs/go-cid"
@ -44,6 +45,7 @@ func InteractiveSend(ctx context.Context, cctx *cli.Context, srv ServicesAPI,
} }
var interactiveSolves = map[api.CheckStatusCode]bool{ var interactiveSolves = map[api.CheckStatusCode]bool{
api.CheckStatusMessageMinBaseFee: true,
api.CheckStatusMessageBaseFee: true, api.CheckStatusMessageBaseFee: true,
api.CheckStatusMessageBaseFeeLowerBound: true, api.CheckStatusMessageBaseFeeLowerBound: true,
api.CheckStatusMessageBaseFeeUpperBound: true, api.CheckStatusMessageBaseFeeUpperBound: true,
@ -143,6 +145,10 @@ func isFeeCapProblem(checkGroups [][]api.MessageCheckStatus, protoCid cid.Cid) (
} }
} }
} }
if baseFee.IsZero() {
// this will only be the case if failing check is: MessageMinBaseFee
baseFee = big.NewInt(build.MinimumBaseFee)
}
return yes, baseFee return yes, baseFee
} }
@ -246,10 +252,10 @@ func feeUI(baseFee abi.TokenAmount, gasLimit int64, maxFee *abi.TokenAmount, sen
} }
row += 2 row += 2
t.Label(0, row, fmt.Sprintf("Current Base Fee is: %s", types.FIL(baseFee)), defS) t.Label(0, row, fmt.Sprintf("Current Base Fee is: %s", types.FIL(baseFee).Nano()), defS)
row++ row++
t.Label(0, row, fmt.Sprintf("Resulting FeeCap is: %s", t.Label(0, row, fmt.Sprintf("Resulting FeeCap is: %s",
types.FIL(big.Div(*maxFee, big.NewInt(gasLimit)))), defS) types.FIL(big.Div(*maxFee, big.NewInt(gasLimit))).Nano()), defS)
row++ row++
t.Label(0, row, "You can use '+' and '-' to adjust the fee.", defS) t.Label(0, row, "You can use '+' and '-' to adjust the fee.", defS)