prepareTransaction method
Future<Uint8List>
prepareTransaction(
- Transaction tx, {
- required String sender,
- BigInt? gasBudget,
Prepare tx (sender, gas price/payment/budget) and return the built
TransactionData BCS bytes, ready to sign.
Implementation
Future<Uint8List> prepareTransaction(
Transaction tx, {
required String sender,
BigInt? gasBudget,
}) async {
// The adapter lets the builder resolve object references and moveCall
// signatures over gRPC; offline limits avoid a protocol-config fetch.
final buildOptions = BuildOptions(
client: GrpcBuilderAdapter(this),
limits: <String, dynamic>{},
);
// Resolve any Move Registry (`@org/app`) names in moveCall targets/types.
await tx.resolveNames(
resolvePackage: resolvePackage,
resolveType: resolveType,
);
tx.setSenderIfNotSet(sender);
if (gasBudget != null) {
tx.setGasBudget(gasBudget);
}
// Gas is resolved inside build() (see Transaction._prepare).
return tx.build(buildOptions);
}