createPublishModuleTransaction method

Future<AptosRawTransaction> createPublishModuleTransaction({
  1. required AptosAddress sender,
  2. required List<int> metadataBytes,
  3. required List<List<int>> moduleBytes,
  4. AptosApiBuildTransactionParams? params,
})

Creates a transaction to publish a new module to the Aptos blockchain.

  • sender: The sender's address.
  • metadataBytes: Metadata associated with the module.
  • moduleBytes: A list of compiled module bytecode files.
  • params (optional): Additional transaction settings.

Implementation

Future<AptosRawTransaction> createPublishModuleTransaction({
  required AptosAddress sender,
  required List<int> metadataBytes,
  required List<List<int>> moduleBytes,
  AptosApiBuildTransactionParams? params,
}) {
  final transactionPayload = AptosTransactionPayloadEntryFunction(
    entryFunction: AptosTransactionEntryFunction(
      moduleId: AptosConstants.publishModuleModuleId,
      functionName: AptosConstants.publishModuleFunctionName,
      args: [
        MoveU8Vector(metadataBytes),
        MoveVector<MoveVector<MoveU8>>(
            moduleBytes.map((e) => MoveVector.u8(e)).toList())
      ],
    ),
  );

  return buildTransaction(
      sender: sender, transactionPayload: transactionPayload, params: params);
}