createAssetCreationTransaction method

Future<AssetConfigTransaction> createAssetCreationTransaction({
  1. required Address sender,
  2. required String assetName,
  3. required String unitName,
  4. required BigInt totalAssetsToCreate,
  5. required int decimals,
  6. bool defaultFrozen = false,
  7. Address? managerAddress,
  8. Address? reserveAddress,
  9. Address? freezeAddress,
  10. Address? clawbackAddress,
  11. String? url,
  12. String? note,
  13. Uint8List? metadataHash,
  14. TransactionParams? suggestedParams,
})

Create a new AssetConfigTransaction.

@param sender The sender of the transaction. @param assetName The name of the asset @param unitName The unit name of the asset @param totalAssetsToCreate The number of total assets to create. @param decimals The number of decimals.

@returns The constructed application config transaction.

Implementation

Future<AssetConfigTransaction> createAssetCreationTransaction({
  required Address sender,
  required String assetName,
  required String unitName,
  required BigInt totalAssetsToCreate,
  required int decimals,
  bool defaultFrozen = false,
  Address? managerAddress,
  Address? reserveAddress,
  Address? freezeAddress,
  Address? clawbackAddress,
  String? url,
  String? note,
  Uint8List? metadataHash,
  TransactionParams? suggestedParams,
}) async {
  // Fetch the suggested transaction params
  final params = suggestedParams ?? (await getSuggestedTransactionParams());

  // Create the transaction
  final transaction = await (AssetConfigTransactionBuilder()
        ..sender = sender
        ..assetName = assetName
        ..unitName = unitName
        ..totalAssetsToCreate = totalAssetsToCreate
        ..decimals = decimals
        ..defaultFrozen = defaultFrozen
        ..managerAddress = managerAddress
        ..reserveAddress = reserveAddress
        ..freezeAddress = freezeAddress
        ..clawbackAddress = clawbackAddress
        ..url = url
        ..noteText = note
        ..metaData = metadataHash
        ..suggestedParams = params)
      .build();

  return transaction;
}