Add GasCost to InvocResult
This commit is contained in:
parent
c56ef260d5
commit
cb801d47c7
@ -740,6 +740,7 @@ type InvocResult struct {
|
|||||||
MsgCid cid.Cid
|
MsgCid cid.Cid
|
||||||
Msg *types.Message
|
Msg *types.Message
|
||||||
MsgRct *types.MessageReceipt
|
MsgRct *types.MessageReceipt
|
||||||
|
GasCost MsgGasCost
|
||||||
ExecutionTrace types.ExecutionTrace
|
ExecutionTrace types.ExecutionTrace
|
||||||
Error string
|
Error string
|
||||||
Duration time.Duration
|
Duration time.Duration
|
||||||
|
@ -116,6 +116,7 @@ func (sm *StateManager) Call(ctx context.Context, msg *types.Message, ts *types.
|
|||||||
MsgCid: msg.Cid(),
|
MsgCid: msg.Cid(),
|
||||||
Msg: msg,
|
Msg: msg,
|
||||||
MsgRct: &ret.MessageReceipt,
|
MsgRct: &ret.MessageReceipt,
|
||||||
|
GasCost: MakeMsgGasCost(msg, ret),
|
||||||
ExecutionTrace: ret.ExecutionTrace,
|
ExecutionTrace: ret.ExecutionTrace,
|
||||||
Error: errs,
|
Error: errs,
|
||||||
Duration: ret.Duration,
|
Duration: ret.Duration,
|
||||||
@ -232,6 +233,7 @@ func (sm *StateManager) CallWithGas(ctx context.Context, msg *types.Message, pri
|
|||||||
MsgCid: msg.Cid(),
|
MsgCid: msg.Cid(),
|
||||||
Msg: msg,
|
Msg: msg,
|
||||||
MsgRct: &ret.MessageReceipt,
|
MsgRct: &ret.MessageReceipt,
|
||||||
|
GasCost: MakeMsgGasCost(msg, ret),
|
||||||
ExecutionTrace: ret.ExecutionTrace,
|
ExecutionTrace: ret.ExecutionTrace,
|
||||||
Error: errs,
|
Error: errs,
|
||||||
Duration: ret.Duration,
|
Duration: ret.Duration,
|
||||||
|
@ -203,6 +203,7 @@ func traceFunc(trace *[]*api.InvocResult) func(mcid cid.Cid, msg *types.Message,
|
|||||||
MsgCid: mcid,
|
MsgCid: mcid,
|
||||||
Msg: msg,
|
Msg: msg,
|
||||||
MsgRct: &ret.MessageReceipt,
|
MsgRct: &ret.MessageReceipt,
|
||||||
|
GasCost: MakeMsgGasCost(msg, ret),
|
||||||
ExecutionTrace: ret.ExecutionTrace,
|
ExecutionTrace: ret.ExecutionTrace,
|
||||||
Duration: ret.Duration,
|
Duration: ret.Duration,
|
||||||
}
|
}
|
||||||
|
@ -701,3 +701,16 @@ func CheckTotalFIL(ctx context.Context, sm *StateManager, ts *types.TipSet) (abi
|
|||||||
|
|
||||||
return sum, nil
|
return sum, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func MakeMsgGasCost(msg *types.Message, ret *vm.ApplyRet) api.MsgGasCost {
|
||||||
|
return api.MsgGasCost{
|
||||||
|
Message: msg.Cid(),
|
||||||
|
GasUsed: big.NewInt(ret.GasUsed),
|
||||||
|
BaseFeeBurn: ret.GasCosts.BaseFeeBurn,
|
||||||
|
OverEstimationBurn: ret.GasCosts.OverEstimationBurn,
|
||||||
|
MinerPenalty: ret.GasCosts.MinerPenalty,
|
||||||
|
MinerTip: ret.GasCosts.MinerTip,
|
||||||
|
Refund: ret.GasCosts.Refund,
|
||||||
|
TotalCost: big.Sub(msg.RequiredFunds(), ret.GasCosts.Refund),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -365,6 +365,7 @@ func (a *StateAPI) StateReplay(ctx context.Context, tsk types.TipSetKey, mc cid.
|
|||||||
MsgCid: mc,
|
MsgCid: mc,
|
||||||
Msg: m,
|
Msg: m,
|
||||||
MsgRct: &r.MessageReceipt,
|
MsgRct: &r.MessageReceipt,
|
||||||
|
GasCost: stmgr.MakeMsgGasCost(m, r),
|
||||||
ExecutionTrace: r.ExecutionTrace,
|
ExecutionTrace: r.ExecutionTrace,
|
||||||
Error: errstr,
|
Error: errstr,
|
||||||
Duration: r.Duration,
|
Duration: r.Duration,
|
||||||
@ -1304,14 +1305,6 @@ func (a *StateAPI) StateMsgGasCost(ctx context.Context, inputMsg cid.Cid, tsk ty
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return &api.MsgGasCost{
|
gc := stmgr.MakeMsgGasCost(m, r)
|
||||||
Message: msg,
|
return &gc, nil
|
||||||
GasUsed: big.NewInt(r.GasUsed),
|
|
||||||
BaseFeeBurn: r.GasCosts.BaseFeeBurn,
|
|
||||||
OverEstimationBurn: r.GasCosts.OverEstimationBurn,
|
|
||||||
MinerPenalty: r.GasCosts.MinerPenalty,
|
|
||||||
MinerTip: r.GasCosts.MinerTip,
|
|
||||||
Refund: r.GasCosts.Refund,
|
|
||||||
TotalCost: big.Sub(m.RequiredFunds(), r.GasCosts.Refund),
|
|
||||||
}, nil
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user