return err
}
- if len(tx.GasInputIDs) == 0 {
- return ErrNoGasInput
+ if err := checkGasInputIDs(tx); err != nil {
+ return err
}
// This part is use for prevent tx size is 0
fee = totalInputBTM - totalOutputBTM
return
}
+
+func checkGasInputIDs(tx *types.Tx) error {
+ for _, inp := range tx.Inputs {
+ switch inp.InputType() {
+ case types.CrossChainInputType:
+ return nil
+ }
+ }
+
+ if len(tx.GasInputIDs) == 0 {
+ return ErrNoGasInput
+ }
+ return nil
+}