createOperationDeposit method

Future<OperationEventsVersionedMixin> createOperationDeposit({
  1. required OperationDepositMethodId methodId,
  2. required OperationDepositInput kind,
  3. required CountryCode country,
})

Creates a new OperationDeposit.

Exactly one of kind argument's fields must be specified (be non-null).

Authentication

Mandatory.

Non-idempotent

Each time creates a new unique OperationDeposit.

Implementation

Future<OperationEventsVersionedMixin> createOperationDeposit({
  required OperationDepositMethodId methodId,
  required OperationDepositInput kind,
  required CountryCode country,
}) async {
  Log.debug(
    'createOperationDeposit(methodId: $methodId, kind: $kind, country: $country)',
    '$runtimeType',
  );

  final variables = CreateOperationDepositArguments(
    methodId: methodId,
    kind: kind,
    billingCountry: country,
  );

  final QueryResult res = await client.mutate(
    MutationOptions(
      operationName: 'CreateOperationDeposit',
      document: CreateOperationDepositMutation(variables: variables).document,
      variables: variables.toJson(),
    ),
    onException: (data) => CreateOperationDepositException(
      (CreateOperationDeposit$Mutation.fromJson(data).createOperationDeposit
              as CreateOperationDeposit$Mutation$CreateOperationDeposit$CreateOperationDepositError)
          .code,
    ),
  );

  return CreateOperationDeposit$Mutation.fromJson(
        res.data!,
      ).createOperationDeposit
      as CreateOperationDeposit$Mutation$CreateOperationDeposit$OperationEventsVersioned;
}