Class FeeCalculator
- FeeCalculator
Calculates minimum required NEM fees.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordMosaic information required for fee calculation.static final recordFully qualified mosaic name passed to a mosaic information lookup. -
Method Summary
Modifier and TypeMethodDescriptionstatic longCalculates the minimum required mosaic rental fee.static longcalculateNamespaceRentalFee(boolean isRoot) Calculates the minimum required namespace rental fee.static longcalculateTransactionFee(Transaction transaction) Calculates the minimum required transaction fee for a transaction.static longcalculateTransactionFee(Transaction transaction, Function<FeeCalculator.MosaicName, FeeCalculator.MosaicInformation> mosaicInformationLookup) Calculates the minimum required transaction fee for a transaction.static longcalculateTransactionFee(Transaction transaction, Map<String, FeeCalculator.MosaicInformation> mosaicInformationMap) Calculates the minimum required transaction fee for a transaction.
-
Method Details
-
calculateMosaicRentalFee
public static long calculateMosaicRentalFee()- FeeCalculator.calculateMosaicRentalFee
Calculates the minimum required mosaic rental fee.
- Returns:
Rental fee.
-
calculateNamespaceRentalFee
public static long calculateNamespaceRentalFee(boolean isRoot) - FeeCalculator.calculateNamespaceRentalFee
Calculates the minimum required namespace rental fee.
- Parameters:
isRoot- true if the fee should be calculated for a root namespace.- Returns:
Rental fee.
-
calculateTransactionFee
- FeeCalculator.calculateTransactionFee
Calculates the minimum required transaction fee for a transaction. Without a mosaic information lookup, fees for custom mosaic transfers cannot be calculated and are rejected.
- Parameters:
transaction- Transaction.- Returns:
Transaction fee.
-
calculateTransactionFee
public static long calculateTransactionFee(Transaction transaction, Map<String, FeeCalculator.MosaicInformation> mosaicInformationMap) - FeeCalculator.calculateTransactionFee
Calculates the minimum required transaction fee for a transaction.
- Parameters:
transaction- Transaction.mosaicInformationMap- Mosaic information indexed by fully qualified mosaic name ("namespace:name").- Returns:
Transaction fee.
-
calculateTransactionFee
public static long calculateTransactionFee(Transaction transaction, Function<FeeCalculator.MosaicName, FeeCalculator.MosaicInformation> mosaicInformationLookup) - FeeCalculator.calculateTransactionFee
Calculates the minimum required transaction fee for a transaction.
- Parameters:
transaction- Transaction.mosaicInformationLookup- Looks up mosaic information given a fully qualified mosaic name;nullmeans unknown.- Returns:
Transaction fee.
-