Refactor DefaultMessageSendSpec
Signed-off-by: Jakub Sztandera <kubuxu@protocol.ai>
This commit is contained in:
		
							parent
							
								
									689b93dc0e
								
							
						
					
					
						commit
						6ca5caef31
					
				
							
								
								
									
										14
									
								
								api/types.go
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								api/types.go
									
									
									
									
									
								
							| @ -6,7 +6,6 @@ import ( | ||||
| 
 | ||||
| 	datatransfer "github.com/filecoin-project/go-data-transfer" | ||||
| 	"github.com/filecoin-project/go-state-types/abi" | ||||
| 	"github.com/filecoin-project/lotus/build" | ||||
| 	"github.com/ipfs/go-cid" | ||||
| 
 | ||||
| 	"github.com/libp2p/go-libp2p-core/peer" | ||||
| @ -51,19 +50,6 @@ type MessageSendSpec struct { | ||||
| 	MaxFee abi.TokenAmount | ||||
| } | ||||
| 
 | ||||
| var DefaultMessageSendSpec = MessageSendSpec{ | ||||
| 	// MaxFee of 0.1FIL
 | ||||
| 	MaxFee: abi.NewTokenAmount(int64(build.FilecoinPrecision) / 10), | ||||
| } | ||||
| 
 | ||||
| func (ms *MessageSendSpec) Get() MessageSendSpec { | ||||
| 	if ms == nil { | ||||
| 		return DefaultMessageSendSpec | ||||
| 	} | ||||
| 
 | ||||
| 	return *ms | ||||
| } | ||||
| 
 | ||||
| type DataTransferChannel struct { | ||||
| 	TransferID  datatransfer.TransferID | ||||
| 	Status      datatransfer.Status | ||||
|  | ||||
| @ -181,7 +181,20 @@ func ComputeMinRBF(curPrem abi.TokenAmount) abi.TokenAmount { | ||||
| 	return types.BigAdd(minPrice, types.NewInt(1)) | ||||
| } | ||||
| 
 | ||||
| func CapGasFee(mff dtypes.DefaultMaxFeeFunc, msg *types.Message, maxFee abi.TokenAmount) { | ||||
| func CapGasFee(mff dtypes.DefaultMaxFeeFunc, msg *types.Message, sendSepc *api.MessageSendSpec) { | ||||
| 	var maxFee abi.TokenAmount | ||||
| 	if sendSepc != nil { | ||||
| 		maxFee = sendSepc.MaxFee | ||||
| 	} | ||||
| 	if maxFee.Int == nil || maxFee.Equals(big.Zero()) { | ||||
| 		mf, err := mff() | ||||
| 		if err != nil { | ||||
| 			log.Errorf("failed to get default max gas fee: %+v", err) | ||||
| 			mf = big.Zero() | ||||
| 		} | ||||
| 		maxFee = mf | ||||
| 	} | ||||
| 
 | ||||
| 	if maxFee.Equals(big.Zero()) { | ||||
| 		mf, err := mff() | ||||
| 		if err != nil { | ||||
|  | ||||
| @ -446,7 +446,7 @@ var mpoolReplaceCmd = &cli.Command{ | ||||
| 				return abi.TokenAmount(config.DefaultDefaultMaxFee), nil | ||||
| 			} | ||||
| 
 | ||||
| 			messagepool.CapGasFee(mff, &msg, mss.Get().MaxFee) | ||||
| 			messagepool.CapGasFee(mff, &msg, mss) | ||||
| 		} else { | ||||
| 			if cctx.IsSet("gas-limit") { | ||||
| 				msg.GasLimit = cctx.Int64("gas-limit") | ||||
|  | ||||
| @ -301,7 +301,7 @@ func (m *GasModule) GasEstimateMessageGas(ctx context.Context, msg *types.Messag | ||||
| 		msg.GasFeeCap = feeCap | ||||
| 	} | ||||
| 
 | ||||
| 	messagepool.CapGasFee(m.GetMaxFee, msg, spec.Get().MaxFee) | ||||
| 	messagepool.CapGasFee(m.GetMaxFee, msg, spec) | ||||
| 
 | ||||
| 	return msg, nil | ||||
| } | ||||
|  | ||||
| @ -812,7 +812,7 @@ func (s *WindowPoStScheduler) setSender(ctx context.Context, msg *types.Message, | ||||
| 			return msg.RequiredFunds(), nil | ||||
| 		} | ||||
| 
 | ||||
| 		messagepool.CapGasFee(mff, msg, big.Min(big.Sub(avail, msg.Value), msg.RequiredFunds())) | ||||
| 		messagepool.CapGasFee(mff, msg, &api.MessageSendSpec{MaxFee: big.Min(big.Sub(avail, msg.Value), msg.RequiredFunds())}) | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user