withdraw function

MoveCallBuilder withdraw({
  1. required dynamic arguments,
  2. String? package,
  3. List<String> typeArguments = const [],
  4. Map<String, dynamic>? config,
})

Withdraws from stored balance only; callers that include accumulator funds must settle through the wrapper first.

Implementation

MoveCallBuilder withdraw(
    {required dynamic arguments,
    String? package,
    List<String> typeArguments = const [],
    Map<String, dynamic>? config}) {
  final packageAddress = package ??
      (config?['accountPackageId'] as String?) ??
      '@local-pkg/account';
  return (tx) => tx.moveCall(
        '$packageAddress::account::withdraw',
        typeArguments: typeArguments,
        arguments: normalizeMoveArguments(
            tx, arguments, [null, 'u64'], ['self', 'amount']),
      );
}