public Task<TransactionReceipt> SafeTransferFromRequestAndWaitForReceiptAsync(string from, string to, BigInteger tokenId, byte[] data, CancellationTokenSource cancellationToken = null)
 {
     var safeTransferFromFunction = new SafeTransferFromWithDataFunction();
         safeTransferFromFunction.From = from;
         safeTransferFromFunction.To = to;
         safeTransferFromFunction.TokenId = tokenId;
         safeTransferFromFunction.Data = data;
     
      return ContractHandler.SendRequestAndWaitForReceiptAsync(safeTransferFromFunction, cancellationToken);
 }
 public Task<string> SafeTransferFromRequestAsync(string from, string to, BigInteger tokenId, byte[] data)
 {
     var safeTransferFromFunction = new SafeTransferFromWithDataFunction();
         safeTransferFromFunction.From = from;
         safeTransferFromFunction.To = to;
         safeTransferFromFunction.TokenId = tokenId;
         safeTransferFromFunction.Data = data;
     
      return ContractHandler.SendRequestAsync(safeTransferFromFunction);
 }
 public Task<TransactionReceipt> SafeTransferFromRequestAndWaitForReceiptAsync(SafeTransferFromWithDataFunction safeTransferFromWithDataFunction, CancellationTokenSource cancellationToken = null)
 {
      return ContractHandler.SendRequestAndWaitForReceiptAsync(safeTransferFromWithDataFunction, cancellationToken);
 }
 public Task<string> SafeTransferFromRequestAsync(SafeTransferFromWithDataFunction safeTransferFromWithDataFunction)
 {
      return ContractHandler.SendRequestAsync(safeTransferFromWithDataFunction);
 }